os._exit()會直接將python程式終止,之後的所有程式碼都不會繼續執行。
os._exit() 一般而言運用於線上程中退出。
sys.exit()會引發一個異常:SystemExit,如果這個異常沒有被捕獲,
那麼python直譯器將會退出。如果有捕獲此異常的程式碼,那麼這些程式碼還是會執行。
捕獲這個異常可以做一些額外的清理工作。
0為正常退出,其他數值(1-127)為不正常,可拋異常事件供捕獲。
sys.exit() 用於在主執行緒中退出。
在python排程,如果在子執行緒使用sys.exit(),就只能退出子執行緒,主執行緒仍然還是可以運作;
如果要在子執行緒中退出整個程序,則須使用os._exit(),才可以實現整個程序的退出。
import os, sys
try:
sys.exit(0)
except:
print('die')
finally:
print('cleanup')
try:
os._exit(0)
except:
print('die')
print('os.exit') #不列印直接退出